#include<io.h> требуется только для объявления функции int write (handle, buffer, count); int handle; handle-р, ссылающийся на открытый файл char *buffer; записываемые данные unsigned int count; число байтов
Описание.
Функция write записывает байты count из буфера buffer в файл, связанный с handle. Операции write начинаются с текущей позиции указателя на файл (указатель ассоциирован с заданным файлом). Если файл открыт для добавления, операции выполняются в конец файла. После осуществления операций записи указатель на файл (если он есть) увеличивается на количество действительно записанных байтов.
Возвращаемое значение.
Функция write возвращает число действительно записанных байтов. Возвращаемое значение должно быть положительным, но меньше числа count (например, когда размер для записи count байтов выходит за пределы пространства на диске). Возвращаемое значение -1 указывает на ошибку; errno устанавливается в одно из следующих значений:
ЗНАЧЕНИЕ ЕГО СМЫСЛ EACCES файл открыт для чтения или закрыт для записи EBADF неверный handle-р файла ENOSPC на устройстве нет свободного места
Если в файл записано более 32К (максимальный размер для типа int ), возвращаемое значение будет иметь тип unsigned int (см. нижеследующий пример). Однако, максимальное число записываемых байтов в файл равно 65534; поскольку число 65535 является не отличимым от -1, то возвращается ошибка. Если заданный файл открыт в текстовом режиме, каждый символ "Перевод строки" на выходе заменяется парой "Возврат каретки- Перевод строки". Эта замена не влияет на возвращаемое значение.
Замечание.
При записи в файл, открытый в текстовом режиме, символ трактуется как логический конец файла. При записи на устройство символ в буфере влияет на окончание #include<io.h>.
Пример
#include<stdio.h> #include<fcntl.h> char buffer [60000]; main () { int fh; unsigned int nbytes = 60000, byteswritten; if ((fh=open("c:/data/conf.dat",O_WRONLY))==-1) { perror("open failed on output file"); exit (1); } if ((byteswritten=write(fh,buffer,nbytes))==-1) perror (""); else printf("Wrote %u bytes to file\n",byteswritten); . . . }